So I want to know, is it possible or not?
Yes. It's possible. You can put all of your functionality in one APK and you can check on which platform (manufacturer) you are running and execute manufacturer specific API's.
If yes then would like to know the reason behind creating different vendor specific apps in app store.
I am not sure about HTC app.
The reason why people created (before) standalone Samsung app was to the signing. The code which executed privedged API's should have been signed by Samsung. MDM companies didn't want to submit each minor version which they want to put on Google Play to Samsung to sign (it will easily consume a lot of timeframe).
So, MDM companies broke it down to two APK. One with very limited manufacturer specific API's, which changes rarely and signed rarely by Samsung. And another with the common code, which can be changed and signed by their own keys.
Samsung changed the way how you can use these API's. You don't have to send apps to them for approval. However, a lot of companies never went back to change it.