Spreading dynamics on complex networks: a general stochastic approach