I think it takes a variable generated on-the-fly
Try
join file1 file12 -t $'\t'
You can enter tab by pressing CTRL+v Tab
join -t '<CTRL+v><Tab>' file1 file2
join -t "`echo '\t'`" file1 file2
ps: on my machine, Red Hat Enterprise Linux Server release 5.1 (Tikanga), the command join -t $'\t' file1 file2 returns "Illegal variable name".
join -t $'\t' file1 file2