It actually depends on the provider that is used.
If they use Secure Trading/CyberSource 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 it is not possible as the gateway accounts are created in a specific currency that cannot be overwritten in the API.
Customers needs to have a specific currency set. You cannot use the "Multi-currency" customer.