Hello and welcome to JustAnswer!
P0440 is a general failure of the evaporative emissions system, and P0441 is for the performance of the evap system's purge solenoid. It's very likely that both codes have set because of the same failure.
The problem could be one of many things. It could be lack of vacuum to the purge solenoid. The purge solenoid's vacuum comes off the back of the intake just under the throttle body and goes up to the solenoid. Sometimes the hose will come off at the throttle body.
It could be the purge solenoid itself.
It could be a damaged or pinched line between the purge solenoid and vapor canister.
It could be the canister itself or another very large leak in any of the evap system lines, but this would be much more likely to set a large leak code.
It could be the natural vacuum leak detector (NVLD). A bad NVLD is by far the most common cause of either of these two codes. The NVLD is mounted to the lower metal subframe under the aluminum subframe in the front, mounted just to the left of center. It's the unit that checks the evap system for leaks. When an intrusive leak test is ran, the purge solenoid turns on to pull a slight vacuum on the tank and evap system. When it gets down to one inch of vacuum in the system a switch in the NVLD should close. If the switch doesn't close then it will set either a P0440 or P0441.
I would go ahead and replace the NVLD at this point with everything that you've already done. It's the most common cause of these codes and it sounds like you've ruled out the rest of the system.
If you find liquid fuel in the canister or physical damage to it then it will need to be replaced, otherwise you wouldn't need to.