GMC Troubleshooting Questions? Ask a Mechanic for Answers
Did you happen to have any "p-codes" scanned from the on-board computer?
Ok. Unfortunately, there are literally dozens of parts and sensors in the EVAP (eimissions) System that when faulty will set the Check Engine Light. If removing the cap and then re-seating it helped for a few days, strong chance this is a problem with the Fuel Tank Pressure Sensor or a solenoid or valve in-line with the FTP Sensor. If you are absolutely sure the fuel cap is good, then at this point, we'd need those diagnostic trouble codes (aka "p-codes") to have a starting point for the diagnosis. The p-codes will more accurately point to where the fault lies, and from there the correct repair can be made. Like I say, sounds like a FTP sensor problem, but that's at the top of the fuel tank and before I say drop the fuel tank and replace it, I'd really like to have a p-code to confirm. Too much work based on a "could be". You can have these p-codes read FREE (except in California) at any local "big chain" part store (ie. AutoZone, PepBoys, Advanced, etc).
If my answer has helped you, please help me by leaving a rating using the stars at the top of this page or accept the answer so I may be credited. If you cannot rate or do not see the rating stars, please let me know. You can ask follow-up questions after you rate.