your trucks emissons system creates a vacuum in the fuel tank. if it detects a vacuum cannot be held, it turns on the "check gas cap" light, as that's the most likely cause. however, any leak in the system will turn on the light.
check the gasket on the gas cap and replace the cap if there's any question that it isn't good. as you live in the rust-belt, another common cause of fuel system vacuum leak is that the metal pipes from the fuel fill and vent tube rust where the rubber hoses connect to them because salty water collects and sits at this connection.
if the cap and the pipes are okay, you'll need to start checking the entire system for the source of the leak (evap canister, hoses/lines, evap pump, soleniod).