I found the temporary solution for this and I say it's temporary is because this solution will probably have to be regularly performed until the bug is solved.
The cause of the issue is that the smarty_lazy_cache table in the prestashop database was corrupted for reasons unknown to me.
How I found out was I turned on debugging for my store and an exception "smarty_lazy_cache table doesn't exist" message got thrown.
The solution is the following code that needs to be entered in your database command line:
DROP TABLE IF EXISTS `PREFIX_smarty_lazy_cache`; CREATE TABLE `PREFIX_smarty_lazy_cache` ( `template_hash` varchar(32) NOT NULL DEFAULT '', `cache_id` varchar(255) NOT NULL DEFAULT '', `compile_id` varchar(32) NOT NULL DEFAULT '', `filepath` varchar(255) NOT NULL DEFAULT '', `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`template_hash`, `cache_id`, `compile_id`)
What this does is it drops the corrupted smarty lazy cache table and creates a new one. The new one then get automatically repopulated by the system and your issue should be resolved.
I have seen the smarty error before without touching anything. So I'm guessing this solution needs to be run every now and then to minimize effects of corrupt smarty lazy cache table on your website.