No, you can not buy a domain name forever. You can buy a domain name for up to 10 years.