Sounds like a bad evap solenoid.

P0446 Evaporative Emmission Control System Vent Control Circuit

What does that mean?
Evap vent valve has only one purpose. It closes in order to seal the vent so the EVAP system can pressurize and ensure there are no leaks. Evap vent valve is usually supplied Batt. voltage with key on.
The ECM's driver controls the ground, and when grounded, activates the valve (closing it). If the ECM detects a short to ground, and open,or a short to battery voltage on the control circuit, P0446 will set. Code also may refer to ECM detecting that EVAP system is unable to achieve or maintain vacuum during test.

Symptoms
There will be no obvious symptoms to driver, other than Malfunction Indicator Lamp (MIL) illumination.

Causes
A code P0446 could mean one or more of the following has happened:
Faulty vent valve
Open, short or excessive resistance on Vent valve control circuit
Blockage of vent valve
Bad PCM

Read more at: P0446 Evaporative Emission Control System Incorrect Purge Flow
Copyright OBD-Codes.com