I have a 2004 Jeep Wrangler (65K miles). The light came on and I had it turn off at the inspection station. They told me it was "a very small evap leak" and to drive it a few days and come back. Returned after 3 days and it passed inspection. The MIL stayed off only a few more days (~ 1 week total).
Took it in to the dealer and they also said it was "a very small evap leak". They turned it off and I bought a new gas cap from the dealer (i.e. not an after market) and the light stayed off only a few days. I took it back again and they simply dismissed me turning it off agian and telling me to just drive it if it comes back on again. Of course, it did.
Just recently it was time to inspect it again. Repeated the whole process again. Turned the light off and drove a few days only this time the light came back on before it could pass inspection. They ran a "smoke test" but said they could not find a leak. So, they turned the light off again and this time, it did pass inspection two days later. This time, the light stayed off 4 weeks, but it back on again.
As suggested on this site, I turned the switch on and off 3 times and got the following code: P 0456. Any words of wisdom. My fear, the dealer will keep dismissing the problem until any warranty I might have remaining is gone.