https://www.obd-codes.com/p0446 they list a bad pcm as a possible issue. if the shop tested the wires to the vent solenoid and they are ok and the new solenoid as well with a canister.

did they say if the canister was full of gas or not?