Answer edited - Initially I did it for 16 coins and managed to
solve all within 4 steps, but sadly I erased my answer anyway.

Anyway here's my solution:
Split it into 3 groups, A, B, C.
*Let's say that the coin comes from Group C, thus A & B can be
swapped interchangably.
Weight any 2 groups,
1)Weight A+B, if it's balanced, the coin is from group C.
Take 2 coins from group C and compare it with 2 real coins.
a)If it's still balanced, one of the other 2 coins is the fake one.
Take one of the remaining 2 coins and weight it with a real
coin.
If it's balanced the last coin is the fake one. If not, the coin
which you just put onto the scale is fake.
b)If it's not balanced, then one of those 2 coins are fake.
You are able to see if the fake coin is heavier or
lighter. Further weigh those two coins and you'll be able
to tell which one it is.
2a) Weight A+C, if it's not balanced, the fake coin comes from
either group. Replace group A with B, if it's still not balanced,
the coin comes from group C. You are able to see if the
fake coin is lighter or heavier. Split the coins in group
C into groups of 2, and weigh them. Since you already know if the
coin is heavier or lighter, you can tell which group of 2 it comes
from. Further weigh the two and you'll be able to find the fake
coin.
2b) Weigh A+C, if it's not balanced, the fake coin comes from
either group. Replace group C with group B, if it's balanced, the
coin comes from the group you've just removed. You are able
to see if the fake coin is heavier or lighter from your previous
reading. Split the coins in group C into groups of 2, and
weigh them. Since you already know if the coin is heavier or
lighter, you can tell which group of 2 it comes from. Further weigh
the two and you'll be able to find the fake coin.
Best case scenario - 3 steps
Worst case scenario - 4 steps
All scenarios covered.