Check Engine light came on last week, I had it scanned at AutoZone and P0446 Evap System was the code.
I removed my gas cap, cleaned the O-ring seal and the filler surface, and had the guy clear the code. The CE light came back on the next morning.
I crawled under the truck and inspected the hoses at the carbon canister, nothing wrong and no visible cracks in the canister itself.
The local dealer had a new gas cap in stock, so I grabbed it. Couldn't see anything wrong w/ my old cap, no cracks in the O-ring, but figured it was worth a shot. Sure enough, after installing it and re-clearing the error code it hasn't come back in the 30 miles I've driven.
Hope this helps somebody!