Can two bodies having the same internal energy have different temperatures? According to me, two objects having the same internal energy may have different temperatures if their masses and specific heats are different and it is possible that an object with more internal energy may be at a lower temperature than the one with less internal energy. I'm not sure though. 
I also wanted to know, if heat can flow from one body to another, if the two bodies have same amount of internal energy?
 A: Yup of course.  Temperature is a measurement of the kinetic energy present in a body. So if two bodies have same energy but different kinetic energies then it means they are at different temperatures. :)
And yes heat can be transferred from one body to another body even they are at same temperatures or at same heat because heat is a form of energy which can be converted into other forms of energies e.g. electric so it can be transferred by converting the heat into any other form of energy  :) 
A: Generally, bodies can have same internal energies, but have different temperatures, and vice versa, have the same temperature but different internal energies.
Consider for example ideal gasses, where the internal energy is given as a function of temperature and heat capacity: $U={C}_{V}T$. If we have a monoatomic gas consisting of N particles, its heat capacity is ${C}_{V}=\frac{3}{2}N{k}_{B}$, whereas for a gas consisting of diatomic molecules we have ${C}_{V}=\frac{5}{2}N{k}_{B}$ at room temperature (if you want to know where I got these explicit formulas, google the equipartition theorem). If you try to play a little with inserting different temperatures or plot those relations, you get something like this:

This graph is plotted for $N={N}_{A}$, namely for 1 mole of ideal gas.
Notice that you may have gasses with equal energy, but different temperature, and having the same temperature doesn't mean the internal energy of two systems is the same.
At temperatures below 100 K, the equipartition theorem doesn't hold and the heat capacities of both gasses slowly saturate to 0 at 0K (a consequence of the third law of thermodynamics). At higher temperatures (around 1000K), the heat capacity of the diatomic gas increases further because of vibrational degrees of freedom. Around room temperature the relation is linear, as shown.
As for your second question, assuming the two systems are in contact and able to transfer energy between them, they will continue to transfer energy between them until their temperatures are the same (that is, until they reach thermal equillibrium).
A: Heat transfer by conduction will occur only if one body has higher thermal energy (indicated by its temperature) than the other and both are in contact, either directly or through a medium capable of conduction ($\Delta Q=mc\Delta T$, where $ \Delta Q$ is the change in thermal energy of the body due to the process of heat transfer and $c$ is the specific heat capacity of the material of the body) and will occur until the 2 bodies come into thermal equilibrium ( to the same temperature). A net flow of heat cannot occur by conduction from one body to another if they are at the same temperature.
Internal energy can be expressed as $\Delta U= fNRT/2$, $N$ being the number of moles of ideal gas, $f$ the degrees of freedom of the gas. Thus, 2 different gases can have 2 different internal energies for same temperature.
Conduction of heat by gases is usually negligible, and convection involves a whole host of other factors (density, weight,etc.).
