「滞在する」はstay と言います。短く滞在するのであれば visit とも言えます。長期であれば stay の方が良いです、なぜなら visit だと「訪れる」という意味がありますので、少しの間訪れるというニュアンスになります。
I visited Spain for 3 days. スペインに三日滞在した。
I visited Spain for 3 months. スペインに3ヶ月滞在した。
このように期間を言えば短くとも長くとも、visit で大丈夫ですが、期間を言わずに I visited Spain というと、短い期間という解釈になりがちです。
なので長期であれば I stayed in Spain for a year (一年間スペインに滞在した)のように言います。stay は visit とは違って「とどまる」という意味もあるので、行ってからしばらくとどまるというニュアンスになります。
ご参考にどうぞ。