From my own experience with this trouble code, and if I remember correctly, the OBD2 system runs a vacuum leakdown test to check for a leak in the evaporative storage cannistor, fuel tank and lines when the engine is at normal operating temperature and is only run when there is between 1/4 and 3/4 of a tank of fuel.
I replaced the control solenoid and the code wasn't set again for about three days. I thought I'd fixed it. Then I bought a few dollars worth of gasoline and the trouble code reappeared almost immediately.
Turned out to be the sensor itself. Once I replaced the sensor, the code never returned.