Hi there,
I can see two possibilities to do this. First, I think you can use HikaMarket to create different vendors (one for the canadian shop and one for the american shop) and link these vendors to the specific product of each country. Then, you should be able to specify a shipping method for each vendor which would solve your issue (I however suggest you to try this on our demo website to see if it's exactly what you want).
Second option is to edit the view shipping of the checkout (in Display>Views) and add a php check to display the right method according to the product selected. It will require some php skills. But in this case, you may face problems if the user want to buy product from 2 different countries, because Hikashop cannot handle multiple shipping method for a single order. So the HikaMarket solution is probably the best. You can ask on the dedicated forum if you need more info about it.