K.N.
Starting around 2 1/2, my daughter's naps became very unpredictable. As you described, sometimes they happened (and always did when in the car) and sometimes she refused and fought it intensely.
At first I moved the naps later in the afternoon. It worked for maybe a few weeks. She also started falling asleep on the sofa... Again it was a temporary win. But what I really needed to do was change my expections... Because its ten times harder to change the child!
Mommyhood without naps was a hard adjustment for me at first. I had looked forward to having an hour or so to get things done while she slept... and that 'me time' evaporated. I can say, however that there was a new freedom that came with her growing out of the set afternoon naps... the freedom of not having to rush home by a certain time every afternoon.
You might want to start implementing quiet time: Between X time to X time, he can read books to himself or play quietly in his room, but he can't leave his room. Sometimes he will sleep, sometimes he won't... This will give you a little 'you-time' if that is what you're hoping for.
Or make sure he has some huge amount of physical activity right before nap and zap the energy out of him, to make sure he falls asleep... (good luck on that!)
I found that, if my daughter fell asleep in the car for any amount of time (even if it was only 5 minutes) she would not nap once we got home.
If he is not napping, then consider moving his entire schedule up an 1 hour to 90 minutes so he goes to bed earlier. (I know... easier said than done!)