I realised that I had set Language to 'English(UK)' (under 'voice' settings of the Google Now app) and apparently hotword detection currently works only with English(US) (In my case, the offline voice recognition package I had installed was 'English(US)' , but language was English(UK) )!
So a simple switching of 'Language' to English(US) will do the trick!
It is a little funny, who would have guessed English(US) and English(UK) are considered completely different languages!
By the way:
I tried downloading and installing English(UK) as my offline voice recognition language and then switching the Language as well to English(UK) BUT it didn't work, hotword detection stopped working again. This means Hotword detection only works with English(US) irrespective of whether you have other offline voice recognition packages installed as well!