Contrary to popular belief, Bitcoin does NOT have a cap of 21 million coins.
The block rewards resets to 50 every 256 years making the supply grow indefinitely, forever.
I think the problem is that cap exists because after that the Hash rate would be so high that everyone would get a very minuscule rewards for mining one block which would decrease miner's interest in mining bitcoin which is why I think people say there is a cap of 21 million coins. The speed of mining would become too damns low after that barely a single coin could be mined in a day.