I seem to recall it depending on compiler settings whether sbcl does tco. Which means you probably don't want to rely on it in general unless you are okay being locked to a specific implementation and specific optimization settings that may-or-may not seem magical to the uninformed user.
The ones that don't provide any form of TCO are old Lisp Machine implementations and ABCL on the JVM.
SBCL, OTOH, provides full TCO.
Some older overview about Common Lisp implementations and their TCO support:
http://0branch.com/notes/tco-cl.html