The important difference here is the delta between forwards and futures:
Forward delta is 1 (for example for the delta of a forward of a non-dividend paying stock), and the delta of futures is exp(r(T-t)). The difference arises (and you can mathematically derive the above deltas) from the fact that interest rates are not constant but random and forwards are OTC products that are settled at maturity while futures are settled daily. This subtle difference leads to different cash flows because money that is deposited into your account or that you need to cough up because of daily margin settlements can be invested/must be borrowed at prevailing interest rates.
For example, if the underlying discount rate process and underlying asset price process are positively correlated then if asset prices rise conversely interest rates will be lower and surpluses that are deposited into your account on a daily basis must be invested at lower rates. The opposite when asset prices fall, you need to deposit variation margin and need to borrow at higher rates. Hence, the futures contract must be priced lower than the forward in this example to make the futures contract equally attractive.