take a look at this page.
P0446 Evaporative Emission Control System Incorrect Purge Flow
it has a solenoid that is most often the cause if cap is good. It has 4 sections to total system and start at canister and verify compliance of each until you find the fault.
PS a few shops that specialize on emissions and cheaper that the dlr for sure.