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.