I am pretty sure that the network could not handle a million daily transactions (how many does it handle now?)
In the last day, Monero processed an average of 2.22 transactions per block excluding coinbase transactions. This comes to about 2.22(30)(24)= 1598.4 transactions per day. As demonstrated by the August 2014 spam attack, Monero blocksize limits allow for scaling with increasing transaction volume.
Scaling can happen quickly but not instantly. In your hypothetical example where transaction volume goes through the roof overnight, transactions would get relayed but sit in the txpool until expiration. Given enough time, the maximum blocksize would scale to allow the greater load.
Based on these transaction per second estimates Monero can handle roughly 1700 transactions per second with a Intel i7 2600k quad core processor. Transaction validation is quick and 1 million transactions per day would be extremely easy for all modern computers. 1700 transactions per second(60)(60)24=146,880,000 transactions per day that can be validated by the 2011 computer processor mentioned above.
Hard drives are getting cheaper every year. 2TB SSDs are now available for under 1 Bitcoin (under 100 Monero). The cost of storing the blockchain is not significant for those that value their privacy enough to run a full node.
For the foreseeable future, bandwidth (not validation times or memory cost) will be the limiting factor in parts of the world with outdated infrastructure. Monero is working to reduce bandwidth requirements with things like Fluffy Blocks. Pruning like being experimented with by Aeon and light clients can also reduce the need for bandwidth for those with metered or slow Internet .