Is there a flame which doesn't produce smoke?
Yes there are flames that don't produce smoke, but the reasons are complicated and depend on the conditions of the flame as well as the key fuel creating the flame.

The obvious example of a smokeless flame is hydrogen. Pure hydrogen burns in oxygen to generate water and there is no way the normal things that make up smoke can be created (the smoke in the Hindenburg disaster was the gas-bag covers and the content of the zeppelin so isn't a counter example).

Smoke is, technically, a suspension of particulate matter in the atmosphere. Some things look like smoke but are not (like the steam from a kettle or the steam from a power station cooler tower: these consist of liquid droplets that will evaporate). 

The main reason smoke is created is because the reaction driving the flame is incomplete and can produce small particles of something. Flames involving hydrocarbons, for example, have side reactions that can generate small particles of solid carbon or a variety of long-chain or aromatic hydrocarbons. The amount of these side-products (and therefore smoke) depends not just on the fuel but also on the control of the combustion reaction. 

Flames where the fuel-air mixture is well controlled may generate very few side reactions and no visible smoke (most gas cookers are set up carefully and don't generate visible smoke, but a badly controlled Bunsen burner using the same fuel may be very smoky.) Candles emit smoke by design as this is what generates most of the light in the flame (small particles of carbon become incandescent in the flame emitting yellowish light just because they are hot). Candles are, essentially, optimised (by the design of the fuel and wick) to burn this way. But small burners using wicks and fuels like ethanol or acetone burn with very clean flames with little smoke (they are optimised for heat not light).

Even fairly well optimised burning can produce some smoke. Modern vehicle engines, for example, need to be as efficient as possible but both petrol (gasoline) and Diesel engines still emit some small particulates (though there are often not very visible unlike old Diesel engines which were notoriously smoky). A badly controlled flame from burning hydrocarbon can be very smoky, but a well controlled flame will emit little visible smoke.

Some things are hard to burn efficiently and smoke a lot. Raw coal is full of a variety of things other than carbon (lots of S and N containing compounds, for example) when burning these tend to promote smoky emissions and also release nasty sulphur and nitrogen oxides into the atmosphere which may react further creating more smoky nasties. "Smokeless" coal is heated before use to drive off the worst offenders and results in something like a halfway house on the way to charcoal, which is almost pure carbon. But the burning of solids is always harder to control than gases or liquids and even charcoal will emit small amounts of smoke though it may not be visible.

In short, smoke is usually a product of the control of a flame. Badly controlled flames smoke because side reactions are common; well controlled flames mostly don't as burning goes to the final products (CO2 and H2O which are gases). Well controlled flames don't smoke visibly (but might emit small amounts that are hard to see for some fuels). Pure hydrogen can burn with no smoke at all as there are no possible side reactions.