Фраза "for 20 years" (в течение 20 лет) указывает на продолжительность действия, которое началось в прошлом и продолжается до настоящего момента. Для таких случаев используется Present Perfect Continuous. Однако, глагол "have" в значении "владеть" обычно используется в Present Perfect.
Ответ: has had