First, check your insurance coverage at home to determine if it is useful at all in Europe, and especially in Spain. Some private carrier insurance DOES cover you internationally. However, I cannot speak to government schemes such as the one in Canada. I think the issue is whether they have a reciprocal policy with the European Union. For EU nationals, just showing their standard ID card gets them medical care.
Second, search for specialized travel insurance to cover you while you are away. Some folks use Allianz, or go through their local auto club (CAA?). There are others. Search here for travel insurance posts using the search function above. I KNOW the issue has been covered a lot in the past.
Personally, I stack my internationally valid Blue Cross / Blue Shield private cover, with travel insurance sold through my airline. As someone over 65, in the US I am also on Medicare (government insurance for seniors) but it is not available outside the US or territories. So, my 'secondary' cover' becomes my primary coverage for the duration of my time overseas.
I usually fly on Iberia, but book my flights through through American Airlines, so I can obtain the insurance they offer through Allianz IIRC. Iberia is a code share partner of American in the One World alliance.
In any event, my private cover takes care of lesser, ambulatory problems. The optional travel insurance will take care of major medical issues and evacuation back home in the event of something very serious.
This is an effective solution for me.
Hope this helps.