This is not a good idea, but one of the great things about Linux is you can do it anyway.
in a root conjob run
apt-get update && apt-get upgrade -y
This will update the apt-cache and then apply your upgrades. However, this could also fail if there are conflicting config files or other things dpkg needs to prompt for (dpkg will detect that it's non-interactive and will do the default for the question, the same as if you just pressed enter on the command line, if there is no default dpkg will fail).
There is also the problem of human tendency. If you update your system like this, things could change on you randomly. This could cause things to break or act differently until you restart the program. However you would have no way of knowing this, because everything happened behind the scenes.
A slightly better option may be to pop the GUI at a given time. Something like:
0 3 * * * export DISPLAY=:0 && /usr/bin/update-manager
in your users crontab. Again this will fail quite a bit (if that user is not logged in at 3am, if the DISPLAY variable is wrong, etc.)
Basically it's a bad idea, no one needs to be "that" up to date, set the "other updates" to display immediately in update-manager, and accept that your only going to get the notice when something on the system runs
apt-get update (there is already a nightly cron job for this.)