According to Bitcoin Block Size - What are the rules?Bitcoin Block Size - What are the rules? each block can be up to 1MB per size and contain roughly 2400 transactions. As transaction blocks are supposed to be found every ten minutes, this would mean that 14400 transactions per hour or 4 transactions per second could be handled. If there should be more transactions sent they would compete for inclusion into the blocks. Transactions with smaller fees would gain priority by aging and would at some point be included at times of fewer transactions. People that require their transactions to arrive quickly would attach bigger transaction fees for faster inclusion. At some point microtransactions would cost more than the amount of value they transport and/or would have to wait very long. Perhaps some transactions would move off the blockchain, some e-wallet services already allow their users to transfer balances to other users of the service for free and without wait.
The protocol as it is today would not be able to sustain a transaction volume of millions per minute (although that is too big a number, even VISA only has 150 million transactions per day, which are about 100k per minute). The bitcoin network is currently averaging just above 60000 transactions per day, so this is already about 1/6 of what the network can handle with the current block size limit.
However, apparently a significant amount of transactions are generated by gambling, so I am unsure how pressing the matter really is for the network.
Edit: Reading more about the scalability of the system I learned that the bitcoin network could scale to more than 40000 tps on today's hardware. The regular users would probably not store the complete blockchain anymore, but only the unspent outputs without the entire history of the transactions.