The estimated time when all the 21 million coins will be mined is 2140 but I dont think it is going to take so much time. In 120 years the technology and economy will change.
Even if the mining will become very hard in future ,new powerful machines will be created and they are going to support bitcoin mining so we cant know for sure when will be mined all coins. It can take all 120 years that is estimated ,but it can takes less than 100 years. It is possible that a big investor to start mining bitcoin and they are going to spend a lot of money for technology.