As i as i know JPA is a specification from Sun Microsystem. Hibernate and Top link also providing the implementation of it.
That's correct (except the spec is from the JCP, but that's quibbling over minor differences). Other JPA implementations also exist, like OpenJPA.
Both are two different technologies that follow ORM specfications.
This is not correct: JPA is the specification, Hibernate/TopLink are the implementations.
It should be noted that some implementations (Hibernate, specifically) also have their own API which is different from JPA. Using that would lead to difficulties when considering a switch to a different implementation (the vendor lock-in mentioned above).