If you use the approach I posted above, you will run into problems as soon as a file name containing spaces is encountered. (You have the same problem in your original script as well, btw.) If you stick with "find" only, you should put double-quotes around the {}.
What would be a good idea is to use the -r or -u options to append files to an archive:
Code:
find /tmp/files/* -mmin +1440 -a -type f -exec tar uf comp.tar -uf "{}" \;
p.s: "tar" does not create a compressed file (extension .Z) unless you tell it to do so with the option -Z.