Tak jest to możliwe.
Użytkownik instaluje aplikację na swoim smartfonie. Potem przy włączeniu aplikacji, albo raz dziennie, raz na tydzień czy jak tam wolisz, jest wysyłany request do serwera z pytaniem czy jest nowa wersja aplikacji. Jeśli wersja na telefonie różni się od tego co zwróci serwer to wyświetlasz informację, że jest do pobrania nowa wersja.
Poczytaj sobie o AsyncTask, requestach do serwera, i tym jak odbierać dane i je przerabiać. Bo na stronie musisz umieścić coś co Ci będzie zwracać wersję aplikacji na serwerze. Algorytm będzie wyglądać mniej więcej tak:
Wejście w aplikację(wersja 1.0 aplikacji) -> Wysłanie requesta do servletu z zapytaniem o numer wersji na serwerze -> serwer zwraca, że ma 1.1 czyli rózni się -> Wyświetlasz okno dialogowe, że jest nowa wersja i na dole przycisk, który wysyła do pliku nawet w zwykłej przeglądarce internetowej. I to wszystko.