Hi K.,
My son is about the same age and we've been having a lot of no nap days, too. After getting advice on here, I decided to just not worry about it too much and instead give him "quiet" time where he has a couple of trucks and some books in his bed. Some days he'll fall asleep and some days he won't. If he doesn't fall asleep, I let him play in his crib for an hour (or two if he's happy). If he starts getting upset before I'm ready for him to come out, I check on him to make sure he hasn't pooped (he likes to save pooping for nap time) and if it's obvious he's not going to nap (if it's been more than a half an hour of him talking/playing it becomes pretty clear he's not going to fall asleep) I set a timer in there and let him know he has "x" amount of time left of quiet time. It works, he will play nicely until the timer goes off and then he cheers when it goes off, knowing he gets to come out and play. It's so much easier when I just go with his flow rather than trying to fight it. He's gotten so used to this that often he'll play in there for an hour and a half before starting to fuss and I never need to set a timer at all.
If he doesn't actually sleep, I put him to bed at least an hour earlier than usual. He'll still sleep 'til his usual wake-up time and seems to make up for the lack of nap by getting in more hours at night.
Oh, one other thing I've discovered is that he is more likely to take a nap if I make his nap time a little later than it used to be. No matter what time he wakes up, 2:00 pm seems to be a good time for his nap/quiet time. I used to think that was way too late for a kid who usually wakes up around 7:00 am, but it seems to be working better. Even if he takes a 2 hour nap or more he'll still go to bed fine by 8:00 pm.
Hope this gives you some ideas!