You need the usual OBD reader and google (research) what the codes are telling you.
The cap has other reasons for that code/error to show like old vent lines that have failed. The smoke test is a good way to find that leaky line.
I have a 2007 Saturn Aura. The check engine light came on last week and a message on the dash popped up that said check fuel cap. I took it to the shop they tightened the fuel cap and it went off. A couple of days later it came back on with the same check fuel cap message I bought a new fuel cap and it went off again. Today it came on again. I don't know if it's still the fuel cap or something else. The mechanic suggested doing a smoke test. I don't want to pay for a test if it's just the fuel cap? Any suggestions?

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic