Check Engine Light That Just Won't Go Away!

Ok, the code is P0446. We had a vapor canister installed but the function code reappeared, so the mechanic put back the old canister so that he wouldn’t have to charge us. This mechanic said the fuel pump tested ok on a cool engine. One thing I’m thinking is that we took it to the Lexus dealership after this mechanic and Lexus said the canister was installed incorrectly…I’m wondering if it was ever installed correctly?? Lexus had the same code, P0446 and they suggested replacing canister assym and vaccuum hose. Then they added the recommendation for a new transmission as well. We’ve had timing belt replaced, engine and transmission flushes, variable timing sensor replaced to name a few.