There is a lot of controversy on this question and there is no 100 percent agreement. Here is a very nice essay I think you will enjoy.
Dr. Romano
Determining the exact yield of ATP for aerobic respiration is difficult for a number of reasons. In addition to generating ATP by oxidative phosphorylation in prokaryotic cells, proton motive force is also used for functions such as transporting materials across membranes and rotating flagella. Also, some bacteria use different carriers in their electron transport chain than others and the carriers may vary in the number of protons they transport across the membrane. Furthermore, the number of ATP generated per reduced NADH or FADH2 is not always a whole number. For every pair of electrons transported to the electron transport chain by a molecule of NADH, between 2 and 3 ATP are generated. For each pair of electrons transferred by FADH2, between 1 and 2 ATP are generated. In eukaryotic cells, unlike prokaryotes, NADH generated in the cytoplasm during glycolysis must be transported across the mitochondrial membrane before it can transfer electrons to the electron transport chain and this requires energy. As a result, between 1 and 2 ATP are generated from these NADH.
Total Theoretical Maximum Number of ATP Generated per Glucose in Prokaryotes 38 ATP: 4 from substrate-level phosphorylation; 34 from oxidative phosphorylation. In eukaryotic cells, the theoretical maximum yield of ATP generated per glucose is 36 to 38, depending on how the 2 NADH generated in the cytoplasm during glycolysis enter the mitochondria and whether the resulting yield is 2 or 3 ATP per NADH.