There are 3 magic shop sellers, one in each city. There are certain spells that they will sell only to their citizens if that city is in the lead for conquests. Such things as Diaga and Stoneskin will only be sold by Regina if you are a citizen of San d'Oria and if San d'Oria leads in conquests. This rule applies to the three magic shops in each respective city.
I hope this clears up any questions