Os mantenedores do kernel Linux levam a sério a compatibilidade com versões anteriores. Se um sistema funciona em uma determinada versão do kernel, ele deve funcionar em qualquer versão mais recente. Como o Ubuntu 16.04 vem com o kernel 4.4.0, qualquer versão mais recente que a 4.4.0 deve funcionar.
Não há muito software que dependa de recursos recentes do kernel. Além da libc e de alguns utilitários do sistema, a maioria dos softwares não interage diretamente com o kernel, apenas através da libc. Existem sistemas que devem continuar rodando por um longo tempo sem reiniciar, mas onde as pessoas querem rodar um software mais novo (geralmente em um chroot da instalação principal, nunca atualizada), então a libc tende a não requerer uma versão do kernel muito recente. O Ubuntu 16.04 vem com glibc 2.23 que aceita kernels Linux tão antigos quanto 2.6.32. A maioria dos softwares Ubuntu 16.04 deve rodar em kernels mais antigos, mas alguns softwares como systemd e udev requerem kernels mais recentes: a partir de v229 , você precisa de pelo menos 3.11.
Observe que tudo isso se aplica apenas ao software da web do usuário. Se você precisar compilar qualquer driver de terceiros, estará por sua conta. As APIs internas do kernel mudam com muita frequência.