It depends on the provider that is used.
If they use Trust Payments (Secure Trading they can use multiple currencies in the same database as the gateway allows us to specify the currency as part of the API request.
For authorize.net/eway/Moneris it is not possible as the gateway accounts are created in a specific currency that cannot be overwritten in the API.
Customers need to have a specific currency set. You cannot use the "Multi-currency" customer.