If you are a US citizen, make an appointment ASAP with your local passport office. It will cost a few hundred (I think) to have it renewed, but they should be able to do this quickly there. You may send it in, but with less than 2 weeks, I would not do that. I know some countries want the passports extended by 6 months, was not aware that Canada was one of those...
If you are not a US citizen, then check with your equivalent of the US state department.