The gascap light, believe it or not, is NOT just for a loose gas cap. This light will come on whenever there is a problem in the EVAP (emissions) system. Your best bet is to have the codes read from the computer the next time the light comes on. To avoid the $80 diagnostic fee, you can go to any local Auto Zone location, and they will read the codes for Free. Once you have these codes you can more accurately and efficiently diagnose which sensor/part in the emissions system is faulty, and make the repair. If you need help with the diagnostic, you can bring that code to any of our Techs here and they can guide you through the diagnostic procedure.
When I spent the $80 at the dealership for the diagnostic fee they did diagnose which sensor in the emissions system was faulty. the guy read it off to me (I didn't actually understand it) but the Manager told me that my gas cap had been loose for 144 miles which was the reason for the check engine light coming on. So what's the point of having this completed again at Auto Zone if the dealer already completed it? I guess I'm wondering is it possible that the gas cap not sealing the way it's supposed to? I have been the only owner of the vehicle and bought it new in 2005 and this has never happened before.
If the gascap has not been replaced yet, then yes, it is a possibility. When replacing the gas cap, it is recommended that you use one that is OEM specs (as opposed to an Auto Zone cheapy.). If this does not solve the problem, i'm simply stating there are other parts/sensors that will set off this light and to save money, gathering the p-code at Auto Zone for Free is the way to go.