You seem to have a simple typo in your shell quoting; this should work:
for f in *; do awk -F '\t' '{sum += $11} END {print sum}' -- "$f"; done
(the -- is only necessary to protect against one of the filenames starting with a hyphen; a variable called i is usually integer by old Fortran convention so using one for a string is a little perverse); or alternatively
ls | while read -r f; do awk -F '\t' '{sum += $11} END {print sum}' -- "$f"; done
if you want avoid the risk of hitting the limit on the length of the command line (which is large but finite on current systems), though this whill break if your filenames have newlines in them (why?!..).
If you want to do everything in a single Awk invocation, you can keep track of files using FNR (number of record inside file) and FILENAME:
awk -F '\t' 'FNR==1 {if (f) print sum; sum = 0; f = FILENAME} END {print sum} {sum += $11}' -- *
or alternatively (may invoke awk one or more times)
ls | xargs awk -F '\t' 'FNR==1 {if (f) print sum; sum = 0; f = FILENAME} END {print sum} {sum += $11}' --
with the same caveats as above.
You can guard against newlines in filenames by giving up on POSIX and using GNUisms which separate items with NULs (prohibited in filenames) instead of newlines (not prohibited), but unless your script is to run in a truly hostile environment it’s probably not worth it.