Just about anyone, regardless of income, CAN donate time but really they shouldn't. If you have the time to donate, you have time to work. If people who are not economically stable found a job instead of volunteering, there would be more stable people who do not need assistance. This means that the resource that help the needy go farther.
People can volunteer even if they are going through a tough time financially. It might give them a fresh perspective and look on life if they were to volunteer and help out the poor and needy. It would help if a person was financially stable, but it is not totally necessary.
If you are willing to volunteer I think there are many people willing to help you stay healthy and housed. There are many projects I have seen that offer housing and a stipend for volunteering. All of the Christian Missionaries that I hear of have money coming in from donations.
The great thing about donating your time is that it doesn't cost anything other than a little bit of effort. So, no, you don't have to be economically stable to donate it. Economic stability certainly enables some people to do more charity work, but it is absolutely not a prerequisite.
I don't think you must be economically stable to volunteer your time, but it certainly helps. If you have more financial security, then taking a day or two off to do Habitat For Humanity becomes a lot easier. But you can still do little things for a couple hours, like stuffing envelopes for a political candidate you like, or even reading to seniors.
It is always easier to volunteer and work for free when your bank account is in a safe position, but even those who are strapped on cash can get life fulfillment by volunteering. If someone has just lost their job, it makes sense that they would continue to be active through volunteering.