Surely you can, and have your apt-get update it's list of packages and then upgrade everything, answering "yes" to any questions asked, but you're right about the other thing too - not a good idea. That's because you should always see, before upgrading, which packages are to be upgraded. That way you know what is done and if something happens, know better what went wrong. Even better, you should upgrade packages more or less in smaller pieces to be even more aware of any problem-causing packages in case something goes wrong. Then there is the possibility that a broken package is relased and it's noticed (and fixed) only after you have already automatically upgraded; this could cause serious damage. Also somebody could (as in "it is not impossible that...") set up a new reposity for you containing some packages that broke things - maybe did something worse too - and your script would then happily upgrade them.
If you always just run that command, always accept all upgrades and never even see what is being upgraded, you can just as well put that in your cron jobs. Note that when a kernel upgrade is done, you may need to reinstall some of your drivers again (like gfx card drivers; the cronjob wouldn't do that!), so keep an eye on it..
I wouldn't do it. With today's automatical upgrade tools that show you what's being done and simply ask you to accept or de-select what you don't want to upgrade, it's just not that much more helpful to do it in a cron job. And as the administrator you should always be in charge rather than have the machine be in charge