It comes easier for some people than others, but the majority of people can do most stretches, even quite advanced/difficult ones, with enough practice. A few things to bear in mind
1. Don't bend your back, and especially don't let sag at the lower back, when doing the stretch- doing that lowers the intensity of the stretch
2. Alternate between bending forward with a completely flat back, and allowing your back to bend
3. When you're as deep into the stretch as possible (as far forward), take a big deep breath, and as you exhale try to relax and go further- a lot of the time it is tension that is holding you where you are.
4. Start with your feet together reasonably far out- slowly bring them closer to your body as you get better
5. For a slightly easier stretch, raise your hips by sitting on the edge of a folded over towel (so that the edge comes up to end of the buttocks and no further, i.e. so the leg isn't on the towel but the hips are). When you get better doing this, take the towel away or fold it less
5. Once you get to a decent level, get someone to assist you. You can get a partner to stand, one foot on each thigh, while you are in that stretch. They should start off close to the hips. Once they are comfortable, they can work their way up the thigh until both feet are close to the knee. If you are able to get your knees fairly close to the ground, doing this will stretch them all the way down. If this is comfortable, they can rock slightly from side to side. You can also practice bending forward.
6. Stretch more in every day life. All the really, really stretchy people I know stretch all the time. When they are watching movies or talking to friends, chances are they are doing some type of stretch. You have to make use of hours where you're otherwise not doing anything to work on your flexibilty.